home *** CD-ROM | disk | FTP | other *** search
-
-
-
- - 1 -
-
-
-
- 12. _C_D__A_u_d_i_o__a_n_d__D_A_T__A_u_d_i_o__D_e_v_e_l_o_p_m_e_n_t__L_i_b_r_a_r_i_e_s
-
-
- This chapter lists information about the CD audio and DAT
- audio libraries included in the IRIS Digital Media
- Development Environment. It includes changes, additions,
- and bug fixes since the last release, and known problems and
- workarounds.
-
-
- _l_i_b_c_d_a_u_d_i_o provides a variety of functions to program
- applications that make use of audio CDs in the CD-ROM drive.
- It supports operating the CD-ROM drive as a stand-alone
- player and also supports the transfer of digital audio data
- across the SCSI bus. It also communicates with _m_e_d_i_a_d to
- ensure that mediad and other programs do not interfere with
- an audio application that is using the CD-ROM drive.
-
- _l_i_b_d_a_t_a_u_d_i_o provides similar functions for programming
- applications using commercial DAT-compatible audio tapes.
- The DAT drive can't be used as a stand-alone player but
- allows applications to read and write digital audio data
- across the SCSI bus.
-
- Applications linked with the DAT Audio Library must also be
- linked with the Audio Utility Library. The linking order
- is:
-
- ----llllccccddddaaaauuuuddddiiiioooo ----llllmmmmeeeeddddiiiiaaaadddd
-
- The DAT and CD Audio Libraries are shipped as statically
- linked libraries (/_u_s_r/_l_i_b/{_l_i_b_d_a_t_a_u_d_i_o._a, _l_i_b_c_d_a_u_d_i_o._a})
- included in the _d_m_e_d_i_a__d_e_v._s_w._a_u_d_i_o subsystem of IRIS
- Digital Media Development Environment 2.0.
-
- The _I_R_I_S _D_i_g_i_t_a_l _M_e_d_i_a _P_r_o_g_r_a_m_m_i_n_g _G_u_i_d_e contains an
- introduction to programming with the CD and DAT Audio
- Libraries.
-
- The on-line man pages _C_D_i_n_t_r_o(3A) and _D_T_i_n_t_r_o(3A) provide
- brief overviews of each of the libraries and list available
- procedure calls.
-
-
- 12.1 _P_r_o_g_r_a_m_m_i_n_g__E_x_a_m_p_l_e_s
-
- The directory /_u_s_r/_s_h_a_r_e/_s_r_c/_d_m_e_d_i_a/_c_d+_d_a_t contains example
- programs which read audio CD's and read/write audio format
- DAT's.
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 2 -
-
-
-
- The example program /_u_s_r/_s_h_a_r_e/_s_r_c/_d_m_e_d_i_a/_c_d_t_o_d_a_t._c shows
- how to read audio data from a CD and correctly record it to
- an audio DAT. It takes an entire CD and digitally transfers
- the data to DAT, providing correct program numbers, index
- numbers, program-time, absolute-time, copy-protect bits, and
- lead-in and lead-out areas on the tape. cdtodat should
- produce tapes that conform to the DAT specification.
-
- The example program /_u_s_r/_s_h_a_r_e/_s_r_c/_d_m_e_d_i_a/_v_e_r_i_f_y_d_a_t._c shows
- how to verify that an audio DAT tape has been correctly
- formatted, using calls to the DAT audio library and ioctls
- to the magnetic tape device driver. Note that the program
- is very strict about testing for conformance to the DAT
- specification. Tapes produced by _c_d_t_o_d_a_t will pass this
- test, however many tapes recorded on consumer DAT decks may
- fail.
-
-
-
-
- 12.2 _K_n_o_w_n__P_r_o_b_l_e_m_s__a_n_d__W_o_r_k_a_r_o_u_n_d_s
-
- +o _l_i_b_d_a_t_a_u_d_i_o does not yet have a high-level routine for
- recording audio data to tape. To record to DAT you
- need to create a DAT frame, as described in
- _d_a_t_f_r_a_m_e(4), put the desired audio data into the frame,
- and write the DAT frame to tape using _w_r_i_t_e(2).
-
- The sample program _c_d_t_o_d_a_t._c described above provides
- an excellent example of how to format DAT frames and
- write them to tape.
-
- +o DAT firmware problem: data tape at BOT.
-
- Assume a DDS (data) tape (ie, a tape previously
- recorded in data mode) is inserted in the DAT drive.
- The drive will rewind the tape to logical BOT, which on
- a data tape is different than physical BOT. If you
- attempt to write audio data to the drive, it begins
- writing at logical BOT. When the tape is later re-
- inserted into the drive, it is incorrectly recognized
- as a data tape since DDS format data exists between
- physical BOT and logical BOT.
-
- Workaround: Check to see if the tape in the drive is
- DDS media and at BOT. If so, in audio mode write a
- frame of data to move the tape off logical BOT, then
- issue a rewind. This will cause the tape to rewind
- back to physical BOT.
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 3 -
-
-
-
- +o DAT firmware problem: read position bug.
-
- The DAT drive firmware incorrectly returns its position
- via the MTGETAUDIO ioctl to the IRIX tape driver. There
- are two modes to this behavior.
-
- +o Immediately following a seek: Suppose you seek by
- A-time (absolute time). Then MTGETAUDIO returns
- the correct A-time, but incorrect P-time (program
- time). Suppose you seek by P-time. Then MTGETAUDIO
- returns the correct P-time, but incorrect A-time.
-
- +o Following a read or write: Both A-time and P-time
- are wrong.
-
- Workaround: Read a frame from the tape and decode the
- subcode information. This of course moves the tape, so
- you may have to seek back to the previous
-
- +o DAT firmware problem: read delay bug.
-
- If not used for 60 seconds, the DAT drive unloads the
- tape from the heads. Once this happens, subsequent
- reads will fail.
-
- Workaround: Avoid 60 second delays between subsequent
- operations.
-
- +o DAT firmware problem: write following read.
-
- A write following a read is not frame-accurate. It may
- go onto the tape several frames too early, overwriting
- some of the data just read.
-
- Workaround: None (because of the following bug).
-
- +o DAT firmware problem: write following seek.
-
- A write following a seek is not frame-accurate. About
- 50% of the time, a write following a seek will go onto
- the tape a few frames early.
-
- Workaround: None.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-